export interface VueObject {
    [key: string]: any;
}

export interface PageVO {
    total?: number;
    pageSize?: number;
    currentPage?: number;
}

export interface DictVO {
    dictKey: string | number,
    dictKeyName: string,
    value?: string | number,
    label?: string,
}

/* 当需要使用复选框表格时配置 */
export interface TableConfigVO {
    rowKey: string; // 主键key 必填
    allRowKeys?: string[] | number[]; // 所有页数据的key集合(复选框配置selectedAll时必填)
    allRows?: any[];
}

export interface ColumnVO {
    title?: string;
    field?: string;
    type?: string; // vxe上的都支持 例：checkbox
    selectedAll?: boolean; // 选择所有页
    sortable?: boolean;
    sortField?: string;
    filters?: any[];
    filterType?: string; // 只有search和funnel
    filterField?: string; // 当搜索字段和列字段时需配置
    align?: string;
    fixed?: string;
    width?: string | number;
    minWidth?: string | number;
    style?: any;
    render?: any;
    notShowTooltip?: string | boolean; // 控制单列的tooltip
    'tree-node'?: boolean; // 树形列
}

export interface VirtualSelectVO {
    data: any[]; // 下拉框数据
    label: string; // 下拉框需要显示的名称
    value: string; // 下拉框绑定的值
    isRight?: boolean; // 右侧是否显示
}
